package com.homevip.user.service;

import com.homevip.core.page.Page;
import com.homevip.core.page.Pageable;
import com.homevip.user.entity.User;
import com.homevip.web.vo.ResultVo;

/**
 * 用户服务类接口
 * 
 * @author panpan
 * @version 2014-12-18
 */
public interface UserService {

	/**
	 * 根据ID获取用户信息
	 * 
	 * @param id
	 * @return
	 */
	User getUserById(int id);

	/**
	 * 根据用户账号获取用户信息
	 * 
	 * @param account
	 * @return
	 */
	User getUserByAccount(String account);

	/**
	 * 保存用户
	 * 
	 * @param user
	 */
	ResultVo saveUser(User user);

	/**
	 * 删除用户
	 * 
	 * @param user
	 */
	void deleteUser(User user);

	/**
	 * 查找用户
	 * 
	 * @param keyword
	 * @param usertype
	 * @param status
	 * @param pageable
	 * @return
	 */
	Page<User> findUser(String keyword, Integer usertype, Integer status, Pageable pageable);

	/**
	 * 保存用户密码
	 * 
	 * @param user
	 */
	void saveUserPass(User user);

	/**
	 * 初始管理员
	 */
	void initAdmin();

	/**
	 * 更新用户
	 *
	 * @param user
	 */
	void updateUser(User user);
}
